Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Returns true if a value exists, false if empty. Works with deeply nested values using object paths.
The has-value npm package is used to check if a value exists, is not empty, or is not undefined. It is useful for validating data and ensuring that required fields are populated.
Check if a value exists
This feature checks if a given value exists. In this example, the string 'Hello World' is checked, and since it is a non-empty string, the result is true.
const hasValue = require('has-value');
console.log(hasValue('Hello World')); // true
Check if an object property has a value
This feature checks if a specific property of an object has a value. In this example, the object has a property 'name' with a value 'John Doe', so the result is true.
const hasValue = require('has-value');
const obj = { name: 'John Doe' };
console.log(hasValue(obj, 'name')); // true
Check if an array has a value
This feature checks if an array has any values. In this example, the array [1, 2, 3] is checked, and since it contains elements, the result is true.
const hasValue = require('has-value');
const arr = [1, 2, 3];
console.log(hasValue(arr)); // true
Check if a nested object property has a value
This feature checks if a nested property within an object has a value. In this example, the nested property 'user.name' is checked, and since it has a value 'Jane Doe', the result is true.
const hasValue = require('has-value');
const nestedObj = { user: { name: 'Jane Doe' } };
console.log(hasValue(nestedObj, 'user.name')); // true
Lodash is a popular utility library that provides a wide range of functions for manipulating arrays, objects, and other data types. It includes a method `_.has` to check if a property exists in an object, which is similar to the functionality provided by has-value.
Underscore is another utility library similar to Lodash. It provides a method `_.has` to check if an object contains a given property. While it does not specifically check for non-empty values, it can be used in combination with other methods to achieve similar results.
Validator is a library for string validation and sanitization. It includes methods to check if a string is empty or not, which can be used to validate the presence of values in a similar way to has-value.
Returns true if a value exists, false if empty. Works with deeply nested values using object paths.
Install with npm:
$ npm install has-value --save
Works for:
true
as the last arg to treat zero as a value instead of falsey)Works with nested object paths or a single value:
var hasValue = require('has-value');
hasValue({a: {b: {c: 'foo'}}} 'a.b.c');
//=> true
hasValue('a');
//=> true
hasValue('');
//=> false
hasValue(1);
//=> true
hasValue(0);
//=> false
hasValue(0, true); // pass `true` as the last arg to treat zero as a value
//=> true
hasValue({a: 'a'}});
//=> true
hasValue({}});
//=> false
hasValue(['a']);
//=> true
hasValue([]);
//=> false
hasValue(function(foo) {}); // function length/arity
//=> true
hasValue(function() {});
//=> false
hasValue(true);
hasValue(false);
//=> true
To do the opposite and test for empty values, do:
function isEmpty(o, isZero) {
return !hasValue.apply(hasValue, arguments);
}
You might also be interested in these projects:
a.b.c
paths. | homepagea.b.c
) to get a nested value from an object. | homepage'a.b.c'
) paths. | homepagePull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Generate readme and API documentation with verb:
$ npm install verb && npm run docs
Or, if verb is installed globally:
$ verb
Install dev dependencies:
$ npm install -d && npm test
Jon Schlinkert
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v, on March 27, 2016.
FAQs
Returns true if a value exists, false if empty. Works with deeply nested values using object paths.
The npm package has-value receives a total of 18,946,424 weekly downloads. As such, has-value popularity was classified as popular.
We found that has-value demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.